home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
(A)TA
/
(A)TAR.ADF
/
Grab_Utilities
/
SSS.doc
< prev
next >
Wrap
Text File
|
1987-02-04
|
20KB
|
469 lines
Roundabout Software
---------------------------------------------------------------------
Thought you had seen the end of screen save utilities on Amiga? Not
by a long shot. Introducing three programs designed to help you get
an IFF picture out of almost anything that can be on your screen.
This archive contains the following :
GrabViews 16552 (one shot screen save program )
GrabViews.info 779 (icon for the above )
TimeSave 21284 (timed screen save program )
TimeSave.info 1227 (icon for the above )
Memview2 33208 (scan memory for bitmaps )
Memview2.info 1283 (icon for the above )
Registration 2330 (the part you dont want to read )
SSS.doc 20711 (what you're gazing at now )
Accept NO substitutions.
Preface
-------
SSS was written to try to address some of the inadequacies of the many
screen grab and snapshot programs currently available. For the
technically oriented, all three programs work by starting in GfxBase
and working their way through the list of active ViewPorts. A display
does NOT need to be on an Intuition screen for the SSS programs to
find it. Other screenshot programs that look for screens instead of
ViewPorts are likely to not work properly if a program is directly
manipulating the display as described in the RKM 'Graphics Primitives'
chapter.
Format of these documents
-------------------------
The documents that follow are for the three programs that make up SSS,
GrabViews, TimeSave, and Memview2. The programs are designed to each
be in ascending order as to how hard it might possibly be to get at a
screen. For example, if you have control of your computer while a
program is running that you need a screenshot of, GrabViews will do
the trick. If you can't do anything while the program is running, not
even a hotkey, then TimeSave will save screens without your having to
press a single key. If TimeSave will not work with the program you
are trying to get a snapshot with (a desperate case indeed) then
Memview2 is your last resort. Enough of the preface, onward to the
instructions for each of these programs...
GrabViews 1.0
----------------------------------------------------------------------
GrabViews is the most basic form of these utilities. When run, the
program will save all currently active displays with incremental file
names. Operation is fairly simple, but the interface is different
depending on whether you start from Workbench or CLI.
Performance notes - CLI
-----------------------
GrabViews runs from CLI with a single argument, the prefix for the
filename(s) that the IFF's will be saved with. Since there can be
many displays active at any given time, files are numbered
incrementally in the following fashion :
<prefix>.VPXX
The prefix is what you supply on the command line. The VP stands
for ViewPort, and the XX will be a number, starting at 0. GrabViews
does not check for files of the same name already existing, so use
with care if you already have any similarly-named files in the same
directory. If GrabViews cannot open a file with the name you
requested, it will abort gracefully.
Example usage would be:
1> GrabViews Picture
Assuming you have two displays active (say the Workbench screen and a
terminal program) you would have the following files written:
Picture.VP00
Picture.VP01
These would go to the current directory. If you wanted to send them
to another directory, just add the path to the prefix on the command
line, for example:
1> GrabViews dh0:graphics/pictures/hello
Would result in hello.VP00 and hello.VP01 being written to the
directory 'dh0:graphics/pictures'.
Starting GrabViews from the CLI with no arguments will result in usage
information being displayed just to remind you what is going on.
Performance notes - Workbench
-----------------------------
Running from WorkBench is easy, just click on the icon. A small
window will open up and present some information and a prompt for you
to enter the prefix to be used on the filenames. After you have done
this, if your information is valid, GrabViews will start saving the
displays one at a time, displaying each filename as it is written.
After everything is finished, you will be asked to press a key to
terminate GrabViews. To write to a particular directory, just tack on
the directory name in front of the prefix as described in the CLI
usage section.
Please note that display of filenames as they are saved ONLY occurs if
you run the program from Workbench.
Mis-Features
------------
Currently there is NO support for funny video modes such as HAM or
ExtraHalfBright. If you do happen to have screens of this nature up
when you run GrabViews, it won't crash; rather, it will just output an
IFF file that probably can't be shown by any type of picture viewer.
On the upside, non-standard screen sizes should be saved perfectly.
If you happen to have more than 100 ViewPorts active when you run
GrabViews, the numbers will 'wrap around' and start saving again when
it gets to 100, writing over the VP00 files and so on. I seriously
doubt that anyone will have a problem with this, but I thought I would
add it in. If YOU can figure out how to get over 100 ViewPorts active
at once, then I will gladly modify the code to go up to 999.
TimeSave 1.0
----------------------------------------------------------------------
TimeSave was written to handle those times when the program you are
trying to get a screen from won't let your hotkeys get through, or
does something strange when you switch back to CLI (if it will even
LET you get back to CLI). It was also written to allow unoprompted
and scheduled saves of the active displays. The basic operation of
the program is similar to that of GrabViews, but with a few more
options. Read onward.
Performance notes - CLI
-----------------------
TimeSave expects two arguments on the command line, the start delay
and the save delay. Start delay refers to the amount of time in
seconds that TimeSave is to wait before beginning incremental saving
of displays. The save delay is the amount of time in seconds to wait
between saving all the available displays on the system. For example,
if you were to start TimeSave in this manner:
1> TimeSave 180 60
Then TimeSave would wait three minutes (180 seconds) before going to
work. Then it would save all the displays once a minute. Starting
TimeSave with no arguments, an improper number of arguments, or the
wrong type of arguments (ie. TimeSave hello world) will result in the
usage information being repeated to make sure, again, that you know
what you are doing. Usage after this point is described in the
"general usage" section following Workbench startup.
Performance notes - Workbench
-----------------------------
To start TimeSave from Workbench, just click on the icon. A small
window will open up prompting you for the start delay time and the
save delay time, as detailed above. If you enter the wrong usage
information, then TimeSave will abort, assuming that you really didn't
want to run it. If your options have been entered correctly, the
small window will close up and operations go on to what is described
below.
Performance notes - General Usage
---------------------------------
After you have started TimeSave in your preferred manner, a small
window with a close gadget will pop up letting you know that TimeSave
is working. If you want to quit TimeSave, just click on the close
gadget. After the initial delay that was entered, TimeSave will save
all the current ViewPorts (displays) on the system to the logical
device GRAB:. I used this name so that Grabbit users won't have to
reassign anything to use this program. The filename is in the
following format:
TimeSave.VPXX.YYY
The XXX refers to the the ViewPort number (starting at zero) and the
YYY number refers to the number of the save procedure that the
pictures came from. After the picture has been saved the WorkBench
screen will flash, letting you know that the picture has been written.
Here is a typical sequence of events in using TimeSave:
1> Assign GRAB: DF1:
( this assigns the logical device GRAB: which is where TimeSave
will try to save its files to )
1> run TimeSave 30 120
( This starts TimeSave with an initial delay of 30 seconds and
a 2 minute delay between saving sets of screens. )
Now, assuming you have two active displays, after 30 seconds the
following files will be written:
DF1:TimeSave.VP00.000
DF1:TimeSave.VP01.000
The Workbench screen will flash, letting you know that the files
have been written.
Then two minutes will pass. Suppose during that time you open
up ANOTHER screen. Here is what will be written:
DF1:TimeSave.VP00.001
DF1:TimeSave.VP01.001
DF1:TimeSave.VP02.001
Again, the Workbench screen will flash.
Then you click on the close gadget and TimeSave goes away. After
this TimeSave session you have the following files:
DF1:TimeSave.VP00.000
DF1:TimeSave.VP01.000
DF1:TimeSave.VP00.001
DF1:TimeSave.VP01.001
DF1:TimeSave.VP02.001
During the time that TimeSave is running, if anything goes wrong
(TimeSave can't save the files, for instance) it will abort
gracefully. One other thing you should know about is that TimeSave
sets itself to a VERY high priority to try to keep things from moving
while it is saving the files. Don't worry, while it is waiting for the
time intervals, it won't slow anything down at all, just when it is
saving the screens. If there is too much movement going on when the
screen is being saved, there is a good chance that you will get a
little bit of blur, but this doesn't happen very often.
Mis-Features
------------
As with GrabViews, TimeSave won't handle funny video modes such as
HAM and ExtraHalfBright. Also, certain game screens do not come out
quite right. The pixels will all be in the right places, but the
colors come out funny every now and then. In such a case, just be
glad that you at least have the meat of the picture (the bitmap) and
boot up a paint program and play with the palette until it looks
right.
MemView 2.0
----------------------------------------------------------------------
MemView 2.0 is based on a program written a couple of years ago by Leo
Schwab. It is designed as your last resort -- for those games that
don't start from Workbench conditions (Psygnosis products come to
mind) and for times when the displays may be hidden in memory but not
actually showing on the screen (see the hints and tips section for
examples of this). Basically what it lets you do is scan through chip
memory looking for bitmaps and then (if you choose) saves the image as
an IFF file when you exit the program.
Performance notes - Workbench & CLI
-----------------------------------
To start from Workbench, just click on the icon. To start from CLI,
just run the program. Execution after this is identical in either
case.
Performance notes - General Usage
---------------------------------
After you have started Memview2, a window will pop up with many
gadgets in it. Nine of these are switches, and when you click on one
of them, it will slide to the right, and the previously selected one
will turn off. The four gadgets on the top row are the screen
resolution at which you wish to work. The five gadgets underneath
those are the depth settings, 1 = 2 colors, 2 = 4 colors, 3 = 8
colors, 4 = 16 colors, and 5 = 32 colors. Note that you cannot have a
depth of more than 4 with 640x400 and 640x200 modes. Even though you
cannot select things like this, I thought I would mention it.
Below the five depth gadgets is a string gadget. The name in here is
the filename to save the resulting picture to. If you just want to
look through memory and don't want to save a filename, then delete the
default string contained in the box by pressing Right-Amiga-X (or lots
of backspaces if you are more comfortable with that).
The last two gadgets are 'GO' and 'Cancel'. 'GO' will proceed with
program operation, and 'Cancel' will take you back to wherever you
started from (Workbench or CLI).
After you click on 'GO' then a display matching the resolution and
depth that you specified will be created. Control from this point is
joystick oriented (just like in the original Memview program), and
kind of fun if I might say so. You have five options available to
you:
Joystick left : Select slow scroll mode
Joystick right: Select fast (zooom) scroll mode
Joystick up : Scroll upward through memory
Joystick down : Scroll downward through memory
Joy Button : Exit the program
Your task now is to find the bitmaps that you are looking for, which
hopefully match your specifications when you started the program. You
want to start by scrolling DOWNWARD until you find what you are
looking for. Chances are that you will find four or five different
'versions' of the screen you are looking for, all but one with a good
bit of miscellaneous garbage on them. I like to check things out in
high speed zooom mode and then when I find it, I use the slow scroll
mode to get the picture lined up correctly. There is also a good
chance that your picture will be split across the border, as if
somebody shifted the entire thing over and it wrapped around to the
other side. In this case, save it anyway and use a paint program to
move things around correctly. You will have to use a paint program
anyway to get the palette right -- Memview 2.0 uses a fixed palette
and searching through memory for a palette could take hours, although
I might do something like this for a future release.
A typical session with Memview 2.0 might go something like this:
Boot up that Psygnosis game that you want a screen from.
When the screen shows what you want a picture of, RESET your
computer. Yes, thats right, control-A-A (or the chickenhead
if you don't have a 1000)
Boot up with your workbench, or perhaps even a blank disk with
nothing but Memview 2.0 on it, and run Memview 2.0.
Select 320x200 resolution and a depth of 5, a filename of
PSYG.PIC.
Scroll DOWNWARD through memory using zooom mode until you
find the screen that was displayed when you reset the computer.
Yup, its still in there, and if you don't use much memory, it
can hang around for DAYS.
Since this is a five bitplane screen, usually the picture will
be the fifth one once you start seeing versions of it with a little
bit of garbage on 'em.
Use the fine scroll mode to center the picture, and press the
joystick button. Your picture will be written out.
Load up your favorite paint program (Graphicraft! hahahaha) and
adjust the palette until you are happy with it. The end.
Thats all there is to it. There are also some other neat things that
Memview 2.0 can accomplish that are detailed in the 'Hints & Tips'
section.
Mis-Features
------------
You've probably already guessed -- at the current time, Memview 2.0
only works in the above stated resolutions. No weird screen modes, and
no overscan or strange screen sizes. Maybe in a future release if I
can figure out how to implement it in my original requester.
If you are using either 320x400 or 640x400 resolution with more than
three bitplanes, the scroll is not exactly smooth, but jumpy. Don't
worry, though, everything straightens out when you let go of the
stick, and everything will be saved properly. Not my fault, just that
the ScrollVPort routine isn't quite perfect. I've done what I can to
keep things looking reasonably pretty.
You should NOT scroll UPWARDS through memory if you intend on saving
the picture, or else your IFF won't match what was on the screen when
you save it. Always start your journey into memory by scrolling
DOWNWARD. I'll be fixing this soon, but I wanted to go ahead and get
this entire package out and in 'distribution' fairly quick. No, you
won't crash or anything, its just that the result is not correct.
SSS Hints and Tips
----------------------------------------------------------------------
Okay, here are some fun things you can do with SSS that you might not
have been able to think of while wading through these monotonous
instructions.
1) Cheat at Centerfold Squares. Apparently CFS keeps a duplicate of
your opponent in memory as she is seen when you win. The sequence of
events to get the picture is:
a) boot CFS and get a screen with the partially obscured opponent
b) run Memview 2.0 at 320x200 resolution and a depth of 5. Scroll
through until you find the right picture, with the weird colors
and all. Save the result.
c) Get a copy of the REAL CFS screen with GrabVeiws. Put these in
the same directory.
d) Quit CFS unless you have lots of memory. Boot up a paint
program and load in the Memview 2.0 picture. Then swap screens and
load in the GrabViews picture. Now your palette should be correct.
Swap back and view your handiwork and feel kind of guilty.
2) You can get pictures from all those neat Psygnosis games that have
custom bootblocks and don't let you do diddley while they are running.
3) You can save a picture of a running program WITH THE MENU DOWN.
Yes, I know it sounds hard to believe, but it works. First, run
TimeSave. Then get yourself situated for the save by pulling down the
menu. Wait for the flash (if you are on Workbench doing this, if not
just kind of time yourself or wait for the disk to stop spinning) and
then check your work to see if it came out okay. I've done this
several times with no problem, and is going to be a big help when
doing A.X. reviews in the future.
4) What else? I'm not sure. If you find anything else fun to do with
SSS then please get in touch with me and let me know.
Distribution
-------------
And now for the part that you probably didn't want to read.
This package may be distributed via BBS's anywhere, or included on
any software collection provided that the charge for said software
collection or PD disk does not exceed that of the media and/or
shipping charges. Posting to major networks is allowed (and
encouraged) except for Compuserve. I have no desire to belong to
their libraries, and if you find this there, please ask the sysops to
delete it by request of the author.
If you do choose to distribute this in ANY manner, you MUST include
every program that is in the original distribution. A list of all the
files occurs at the beginning of these documents.
Please note that this program and the entire SSS system is released
as freely distributable Shareware, which means that you can test drive
it and see how you like it, after which time you make the decision to
buy or die (grin). If you can't afford the contribution, don't worry
yourself to sleep, I've been in the same shape myself before. Future
additions and upgrades (for example, a hotkey activated utility like
the ones above) to SSS depend on the support from the users, however.
See the Registration file for your shareware registration info.
On the other hand, if you are using this package in any kind of
commercial environment (one idea that comes to mind is screenshots for
magazines) then the contribution is MANDATORY. The price I am asking
is not unreasonable for people in those situations. For your
registration form and registration information, please consult the
Registration file that is contained in this distribution.
Finding the author
-------------------
If you enjoy this program, then why not give my BBS a call? I may
be located at the following locations:
Chris Bailey (VOICE) (803) 796-8058 or
(VOICE) (803) 794-4933
My BBS (803) 791-9448
bix : csbailey
U.S. Snail 2405 Feather Run Trail
W. Columbia, SC
29169
And at various other BBS's across the country (thank you, PC-Pursuit).
----------------------------------------------------------------------
This product was written and developed with:
Benchmark Modula-2
by Avant Garde Software
----------------------------------------------------------------------
Revision History
----------------
Version 1.0 : Initial release consisting of:
Memview 2.0
GrabViews 1.0
TimeSave 1.0